import { defineStore } from 'pinia'
import { store } from '@/stores'
import type { appType } from './types'
import { cache } from '@/utils/cache'

export const useAppStore = defineStore({
  id: 'pure-app',
  state: (): appType => ({
    // 语言
    locale: 'cn',
    fallbackLocale: 'cn'
  }),
  actions: {
    INIT(): string {
      const isLocale = cache().get('LOCALE')
      this.locale = isLocale === '' ? String(isLocale) : this.locale
      return String(isLocale)
    },
    /** 修改语言 */
    SET_LOCALE(newLocale: 'en' | 'cn') {
      const isLocale = cache().set('LOCALE', newLocale)
      if (!isLocale) {
        return
      }
      this.locale = newLocale
    }
  }
})

export function useAppStoreHook() {
  return useAppStore(store)
}
